﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
using System.Threading;
using System.Globalization;
using System.IO;

namespace Elegant
{
    static class Program
    {
        /// <summary>
        /// Método responsavel pela criação e seleção 
        /// do arquivo de linguagem do sistema.
        /// 
        /// Inglês
        /// Method responsible for the creation and 
        /// selection the file the language the system.
        /// </summary>
        static void selecionaLinguagem()
        {
            //Verifica se o arquivo já foi criado.
            bool verificaLinguagem = File.Exists(@"C:\Documents and Settings\Softex 03\Meus documentos\TesteElegant\Linguagem.txt");

            //Se o arquivo ainda não estiver criado ele cria um novo arquivo.
            if (verificaLinguagem == false)
            {
                //Cria o arquivo de Configuração de linguas.
                StreamReader srLinguagem = new StreamReader(File.Create(@"C:\Documents and Settings\Softex 03\Meus documentos\TesteElegant\Linguagem.txt"));
                srLinguagem.Close();

                //Seleciona no arquivo a linguagem Default a ser iniciada.
                StreamWriter swPortugues = new StreamWriter(File.Open(@"C:\Documents and Settings\Softex 03\Meus documentos\TesteElegant\Linguagem.txt", FileMode.OpenOrCreate));
                swPortugues.Write("en-CA");
                swPortugues.Close();
            }

            /*
             * Pega o arquivo que foi criado anteriormente com a 
             * configuração da linguagem a qual o sistema deve ser 
             * iniciado, e adiciona na CultureInfo.
             */
            StreamReader srLinguagemSelecao = new StreamReader(File.OpenRead(@"C:\Documents and Settings\Softex 03\Meus documentos\TesteElegant\Linguagem.txt"));
            string lingua = srLinguagemSelecao.ReadLine();
            srLinguagemSelecao.Close();

            /*
             * Faz com que o Form seja iniciado com 
             * a linguagem posteriormente selecionada.
             */
            Thread.CurrentThread.CurrentUICulture = new CultureInfo(lingua);
        }
        /// <summary>
        /// The main entry point for the application.
        /// </summary>
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);

            selecionaLinguagem();

            Application.Run(new frmPrincipal());
        }
    }
}
